# 元组(tuple)
# 格式：元组名=(元素1,元素2,元素3)
# 注意：定义元组时，如果只有一个元素，末尾要加逗号，多个元素用，隔开，不同的元素也可以是不同的数据类型

tua = (1,2,"3")
print(tua,type(tua))

# tub = (1)
# print(tub,type(tub)) # int,所以，只有一个元素的时候，末尾一定要加上，
tuc = (1,)
print(tuc,type(tuc)) #tuple

# 元祖与列表的区别
# 1.元祖只有一个元素必须加,列表则不需要
li = [1]
print(type(li)) # <class 'list'><class 'list'>
li2 = (1)
print(type(li2)) # <class 'int'>
# 2.元祖只支持查询操作，不支持增删改操作
tua = (1,2,3,1)
print(tua[2]) # 元祖也有下标，从左往右，从0开始
# tua[2] = 0 # 报错：TypeError: 'tuple' object does not support item assignment，元祖不支持修改

# count(),index(),len() 与列表方法相同
print(tua.index(2)) # 1
print(tua.count(1)) # 2
print(len(tua))  # 4

# 切片
print(tua[1:])

# 3.应用场景
# 格式化输出，格式化输出（）中的本质是元祖
# 数据不可以被修改，保护数据的安全
name = 'bingbing'
age = 18
print("%s的年龄是：%d"%(name,age))
info = (name,age)
print(type(info)) # <class 'tuple'>
print("%s的年龄是：%d"%info)

# 删除
tua = (1,2,3,1)
del tua
# print(tua) # 报错，因为已删除
tua = (1,2,3,1)
